package com.slice.upload.entity;

import lombok.*;

import java.util.List;
import java.util.Map;

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FileUploadRespond {
    /** 文件路径 */
    private String path;
    /** 时间戳 */
    private Long mtime;
    /** 是否上传完成标识 */
    private boolean uploadComplete;
    /** 上传状态码 */
    private Integer code;
    /** 分片map */
    private Map<Integer, String> items;
    /** 丢失部分 */
    private List<Integer> missChunks;
    /** 文件大小 */
    private Long size;
    /** 文件后缀 */
    private String fileExt;
    /** 文件标识 */
    private String fileId;

    /**
     * 文件上传状态
     */
    public enum Code {
        UN_KNOWN(0, "不存在"),
        ALL(1, "上传完成"),
        PART(2, "正在上传"),
        ;
        @Getter
        private int code;
        @Getter
        private String val;

        Code(int code, String val) {
            this.code = code;
            this.val = val;
        }
    }

}
